
import xlwt
import xlrd


ptopen=open("Localizable-BR.strings",'r')
ptlines = ptopen.readlines()

newFile = open('new2.strings','w')
nofind = open('nofind2.strings','w')
modify = open('modify2.strings','w')

ExcelFile = xlrd.open_workbook('EN pt-rBR-(iOS 3.6)-bhx.xlsx')
sheet = ExcelFile.sheet_by_name('data')


def iOSCheckString(value):

    # value = string.strip()  # 移除字符串头尾指定的字符（默认为空格或换行符）或字符序列 注意：该方法只能删除开头或是结尾的字符，不能删除中间部分的字符
    # colString = td.string.replace(u'\xa0', '') #去除空格
    # 有可能是安卓添加的，翻译过来可能会有以下特殊字符，都 要换成%@
    value = value.replace('%s', '%@')
    value = value.replace('% s', '%@')
    value = value.replace('%$s', '%@')
    value = value.replace('%1$s', '%@')
    value = value.replace('%2$s', '%@')
    value = value.replace('%3$s', '%@')
    value = value.replace('%4$s', '%@')
    value = value.replace('%5$s', '%@')
    value = value.replace('%1$ s', '%@')
    value = value.replace('%2$ s', '%@')
    value = value.replace('%3$ s', '%@')
    value = value.replace('%4$ s', '%@')
    value = value.replace('%5$ s', '%@')

    return value

def iosString(key,value):
    value = iOSCheckString(value)
    text = key + ' = ' +  value  + '\n'
    return text


def euumBRFile():
    ptValueStr = ''
    for brline in ptlines:
        if '=' in brline:
            checke_excel(brline)
        else:
            newFile.write(brline)  # 非翻译内容，直接写入文件

def checke_excel(lineData):

    key = lineData.split('=')[0].strip()    #翻译文件中某一行的key值
    value = lineData.split('=')[1].strip()  #翻译文件中某一行的value值


    # excel 数据
    keys = sheet.col_values(0)  # 第二列
    values = sheet.col_values(2)  # 第三列

    findKey = False

    for inx, excel_key in enumerate(keys):
        excel_value = values[inx]

        # print("key={} value={}".format(key, value))

        if key == excel_key:
            findKey = True

            if excel_value == value:
                print("不用修改：key={} value={}".format(key, value))
                newFile.write(lineData) # 这一行直接写入
            else:
                print("需要修改：key={} old={} new={}".format(key, value, excel_value))  # 打印每一列
                newFile.write(iosString(key,excel_value))
                modify.write(iosString(key, excel_value))
            break;

    if not findKey:
        print("excel文件中没有找到：key={} value={}".format(key, value))
        newFile.write(lineData)  # 这一行直接写入
        nofind.write(iosString(key, value))



if __name__ == "__main__":
    # 从返回结果来看，有登录成功

    euumBRFile()